// noinspection JSUnresolvedReference /** * Field Google Map */ /* global jQuery, document, redux_change, redux, google */ (function ( $ ) { 'use strict'; redux.field_objects = redux.field_objects || {}; redux.field_objects.google_maps = redux.field_objects.google_maps || {}; /* LIBRARY INIT */ redux.field_objects.google_maps.init = function ( selector ) { if ( ! selector ) { selector = $( document ).find( '.redux-group-tab:visible' ).find( '.redux-container-google_maps:visible' ); } $( selector ).each( function ( i ) { let delayRender; const el = $( this ); let parent = el; if ( ! el.hasClass( 'redux-field-container' ) ) { parent = el.parents( '.redux-field-container:first' ); } if ( parent.is( ':hidden' ) ) { return; } if ( parent.hasClass( 'redux-field-init' ) ) { parent.removeClass( 'redux-field-init' ); } else { return; } // Check for delay render, which is useful for calling a map // render after JavaScript load. delayRender = Boolean( el.find( '.redux_framework_google_maps' ).data( 'delay-render' ) ); // API Key button. redux.field_objects.google_maps.clickHandler( el ); // Init our maps. redux.field_objects.google_maps.initMap( el, i, delayRender ); } ); }; /* INIT MAP FUNCTION */ redux.field_objects.google_maps.initMap = async function ( el, idx, delayRender ) { let delayed; let scrollWheel; let streetView; let mapType; let address; let defLat; let defLong; let defaultZoom; let mapOptions; let geocoder; let g_autoComplete; let g_LatLng; let g_map; let noLatLng = false; // Pull the map class. const mapClass = el.find( '.redux_framework_google_maps' ); const containerID = mapClass.attr( 'id' ); const autocomplete = containerID + '_autocomplete'; const canvas = containerID + '_map_canvas'; const canvasId = $( '#' + canvas ); const latitude = containerID + '_latitude'; const longitude = containerID + '_longitude'; // Add map index to data attr. // Why, say we want to use delay_render, // and want to init the map later on. // You'd need the index number in the // event of multiple map instances. // This allows one to retrieve it // later. $( mapClass ).attr( 'data-idx', idx ); if ( true === delayRender ) { return; } // Map has been rendered, no need to process again. if ( $( '#' + containerID ).hasClass( 'rendered' ) ) { return; } // If a map is set to delay render and has been initiated // from another scrip, add the 'render' class so rendering // does not occur. // It messes things up. delayed = Boolean( mapClass.data( 'delay-render' ) ); if ( true === delayed ) { mapClass.addClass( 'rendered' ); } // Create the autocomplete object, restricting the search // to geographical location types. g_autoComplete = await google.maps.importLibrary( 'places' ); g_autoComplete = new google.maps.places.Autocomplete( document.getElementById( autocomplete ), {types: ['geocode']} ); // Data bindings. scrollWheel = Boolean( mapClass.data( 'scroll-wheel' ) ); streetView = Boolean( mapClass.data( 'street-view' ) ); mapType = Boolean( mapClass.data( 'map-type' ) ); address = mapClass.data( 'address' ); address = decodeURIComponent( address ); address = address.trim(); // Set default Lat/lng. defLat = canvasId.data( 'default-lat' ); defLong = canvasId.data( 'default-long' ); defaultZoom = canvasId.data( 'default-zoom' ); // Eval whether to set maps based on lat/lng or address. if ( '' !== address ) { if ( '' === defLat || '' === defLong ) { noLatLng = true; } } else { noLatLng = false; } // Can't have empty values, or the map API will complain. // Set default for the middle of the United States. defLat = defLat ? defLat : 39.11676722061108; defLong = defLong ? defLong : -100.47761000000003; if ( noLatLng ) { // If displaying a map based on an address. geocoder = new google.maps.Geocoder(); // Set up Geocode and pass address. geocoder.geocode( {'address': address}, function ( results, status ) { let latitude; let longitude; // Function results. if ( status === google.maps.GeocoderStatus.OK ) { // A good address was passed. g_LatLng = results[0].geometry.location; // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); // Get and set lat/long data. latitude = el.find( '#' + containerID + '_latitude' ); latitude.val( results[0].geometry.location.lat() ); longitude = el.find( '#' + containerID + '_longitude' ); longitude.val( results[0].geometry.location.lng() ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } else { // No data found, alert the user. alert( 'Geocode was not successful for the following reason: ' + status ); } } ); } else { // If displaying map based on an lat/lng. g_LatLng = new google.maps.LatLng( defLat, defLong ); // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, // Start off far unless an item is selected, set by php. streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create the map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } }; redux.field_objects.google_maps.renderControls = function ( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ) { let markerTooltip; let infoWindow; let g_marker; let geoAlert = mapClass.data( 'geo-alert' ); // Get HTML. const input = document.getElementById( autocomplete ); // Set objects into the map. g_map.controls[google.maps.ControlPosition.TOP_LEFT].push( input ); // Bind objects to the map. g_autoComplete = new google.maps.places.Autocomplete( input ); g_autoComplete.bindTo( 'bounds', g_map ); // Get the marker tooltip data. markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Create infoWindow. infoWindow = new google.maps.InfoWindow(); // Create marker. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), draggable: true, title: markerTooltip, animation: google.maps.Animation.DROP } ); geoAlert = decodeURIComponent( geoAlert ); // Place change. google.maps.event.addListener( g_autoComplete, 'place_changed', function () { let place; let address; let markerTooltip; infoWindow.close(); // Get place data. place = g_autoComplete.getPlace(); // Display alert if something went wrong. if ( ! place.geometry ) { window.alert( geoAlert ); return; } console.log( place.geometry.viewport ); // If the place has a geometry, then present it on a map. if ( place.geometry.viewport ) { g_map.fitBounds( place.geometry.viewport ); } else { g_map.setCenter( place.geometry.location ); g_map.setZoom( 17 ); // Why 17? Because it looks good. } markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Set the marker icon. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), title: markerTooltip, clickable: true, draggable: true, animation: google.maps.Animation.DROP } ); // Set marker position and display. g_marker.setPosition( place.geometry.location ); g_marker.setVisible( true ); // Form array of address components. address = ''; if ( place.address_components ) { address = [( place.address_components[0] && place.address_components[0].short_name || '' ), ( place.address_components[1] && place.address_components[1].short_name || '' ), ( place.address_components[2] && place.address_components[2].short_name || '' )].join( ' ' ); } // Set the default marker info window with address data. infoWindow.setContent( '
' + place.name + '
' + address ); infoWindow.open( g_map, g_marker ); // Run Geolocation. redux.field_objects.google_maps.geoLocate( g_autoComplete ); // Fill in address inputs. redux.field_objects.google_maps.fillInAddress( el, latitude, longitude, g_autoComplete ); } ); // Marker drag. google.maps.event.addListener( g_marker, 'drag', function ( event ) { document.getElementById( latitude ).value = event.latLng.lat(); document.getElementById( longitude ).value = event.latLng.lng(); } ); // End marker drag. google.maps.event.addListener( g_marker, 'dragend', function () { redux_change( el.find( '.redux_framework_google_maps' ) ); } ); // Zoom Changed. g_map.addListener( 'zoom_changed', function () { el.find( '.google_m_zoom_input' ).val( g_map.getZoom() ); } ); // Marker Info Window. infoWindow = new google.maps.InfoWindow(); google.maps.event.addListener( g_marker, 'click', function () { const marker_info = containerID + '_marker_info'; const infoValue = document.getElementById( marker_info ).value; if ( '' !== infoValue ) { infoWindow.setContent( infoValue ); infoWindow.open( g_map, g_marker ); } } ); }; /* FILL IN ADDRESS FUNCTION */ redux.field_objects.google_maps.fillInAddress = function ( el, latitude, longitude, g_autoComplete ) { // Set variables. const containerID = el.find( '.redux_framework_google_maps' ).attr( 'id' ); // What if someone only wants city, or state, ect... // gotta do it this way to check for the address! // Need to check each of the returned components to see what is returned. const componentForm = { street_number: 'short_name', route: 'long_name', locality: 'long_name', administrative_area_level_1: 'short_name', country: 'long_name', postal_code: 'short_name' }; // Get the place details from the autocomplete object. const place = g_autoComplete.getPlace(); let component; let i; let addressType; let _d_addressType; let val; let len; document.getElementById( latitude ).value = place.geometry.location.lat(); document.getElementById( longitude ).value = place.geometry.location.lng(); for ( component in componentForm ) { if ( componentForm.hasOwnProperty( component ) ) { // Push in the dynamic form element ID again. component = containerID + '_' + component; // Assign to proper place. document.getElementById( component ).value = ''; document.getElementById( component ).disabled = false; } } // Get each component of the address from the place details // and fill the corresponding field on the form. len = place.address_components.length; for ( i = 0; i < len; i += 1 ) { addressType = place.address_components[i].types[0]; if ( componentForm[addressType] ) { // Push in the dynamic form element ID again. _d_addressType = containerID + '_' + addressType; // Get the original. val = place.address_components[i][componentForm[addressType]]; // Assign to proper place. document.getElementById( _d_addressType ).value = val; } } }; redux.field_objects.google_maps.geoLocate = function ( g_autoComplete ) { if ( navigator.geolocation ) { navigator.geolocation.getCurrentPosition( function ( position ) { const geolocation = new google.maps.LatLng( position.coords.latitude, position.coords.longitude ); const circle = new google.maps.Circle( { center: geolocation, radius: position.coords.accuracy } ); g_autoComplete.setBounds( circle.getBounds() ); } ); } }; /* API BUTTON CLICK HANDLER */ redux.field_objects.google_maps.clickHandler = function ( el ) { // Find the API Key button and react on click. el.find( '.google_m_api_key_button' ).on( 'click', function () { // Find message wrapper. const wrapper = el.find( '.google_m_api_key_wrapper' ); if ( wrapper.is( ':visible' ) ) { // If the wrapper is visible, close it. wrapper.slideUp( 'fast', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } else { // If the wrapper is visible, open it. wrapper.slideDown( 'medium', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } } ); el.find( '.google_m_autocomplete' ).on( 'keypress', function ( e ) { if ( 13 === e.keyCode ) { e.preventDefault(); } } ); // Auto select autocomplete contents, // since Google doesn't do this inherently. el.find( '.google_m_autocomplete' ).on( 'click', function ( e ) { $( this ).trigger( 'focus' ); $( this ).trigger( 'select' ); e.preventDefault(); } ); }; } )( jQuery ); Milli Lotereya Mərcləri: Ən Popüler Onlayn Loto Oyunlarını Keçid Edin – Üçüncü Nəfər! – Orchid Group
Warning: Undefined variable $encoded_url in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Deprecated: base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Milli Lotereya Mərcləri: Ən Popüler Onlayn Loto Oyunlarını Keçid Edin – Üçüncü Nəfər!

Milli Lotereya Mərcləri: Nəsil 3-dən Faydalanmaq Üçün Loto Oyunları Keçid Edin

Milli Lotereya Mərcləri: Nəsil 3-dən faydalanmaq üçün, loto oyunları keçid edin. Mükafat verilən 3-cü nəsil Milli Lotereya Mərcləri ilə tanışın. Bu nəsilə ait mükafatlar sizin için çox önemli olabilir. Şansınızı deneyin və daha çox fayda edin! Milli Lotereya Mərcləri ilə bağlı oyunlar sizin için bir çox fıyla və mükafat ilə donatılıb edilmişdir. Əgər siz Milli Lotereya Mərcləri ilə bağlı oyunlar haqqında daha çox məlumat istəyirsiniz, bu sahəyə keçin. Şansınızı sevgiləyin və Milli Lotereya Mərcləri ilə bağlı oyunları keçin!

Milli Lotereya Mərcləri: Ən Popüler Onlayn Loto Oyunlarını Keçid Edin - Üçüncü Nəfər!

Popüler Onlayn Loto Oyunları: Milli Lotereya Mərcləri ilə Bağlanç

Popüler Onlayn Loto Oyunları: Milli Lotereya Mərcləri ilə Bağlanç, Azerbaycanda çox sevirlənir. Bu tədbirler, müştərilərin keyfiyyətinin artırılmasıdır. Milli Lotereya Mərcləri, ən yaxşı Popüler Onlayn Loto Oyunları tərəfindan biridir. İstifadəçilərin rahatlıqla qazanç edə biləcəkli bir çevrə yaradır. Əgər siz daha çox keyfi yaşayırsınıx, bizə gözləyin. Popüler Onlayn Loto Oyunları ilə tanışın və Milli Lotereya Mərcləri keçidlərinə girmediniz halda da şansınız var. Azerbaycanda Popüler Onlayn Loto Oyunları Milli Lotereya Mərcləri ilə bağlantılı olmaqla ən çox sevildiyi oyun tərəfindən ibarətdir.

Üçüncü Nəfər Milli Lotereya Mərcləri: Ən Çox Seçilmiş Oyunlar

Üçüncü Nəfər Milli Lotereya Mərcləri ilə bağlı olan ən çox seçilmiş oyunlar Azerbaycan ülünəsindir. Əlavə olaraq, bu mərklər daha ən yaxşı mümkün qiymətlər ilə çox sayaq istifadəçiləri saxlayır. Üçüncü Nəfər Milli Lotereya Mərcləri, rüxsatı verilmiş oyunların bir range-ında istifadə edir. Bu, rastgele nömrələr, rastgele səhvlər və rastgele xəttlər təmsil edir. Ən çox seçilmiş oyunların biridir ki, rastgele nömrələr oyunu. Bu oyun, müştəri sizinlə əlaqə saxlayan rəqəmleri tahmin edə bilməlisiniz. Əgər siz tahmin edə bilirsiz, siz ödəniş etdiyiniz qiymətə qədər pulü ödəyirsiniz. Ən çox seçilmiş oyunların diqracıdır ki, rastgele səhv oyunu. Bu oyun, sizin üç rəqəmli səhvlərinizi tahmin edə bilməlisiniz. Əgər siz tahmin edə bilirsiz, siz ödəniş etdiyiniz qiymətə qədər pulu ödəyirsiniz. Üçüncü Nəfər Milli Lotereya Mərcləri, Azerbaycan ülünəsindir, və onların ən çox seçilmiş oyunları da onlara məxsusdur.

Onlayn Loto Oyunları: Milli Lotereya Mərcləri ilə Qazanmaq Mümkün

Onlayn Loto Oyunları, Milli Lotereya Mərcləri ilə qazanmaq mümkün. Bu, sizin keyfinizdə olan oyunları seçmək, onları istədiyiniz zaman və yerden oynamaq, və sonunda çox yaxşı qazanma imkanları sağlayan bir vəzifədir. Əgər siz Milli Lotereyanın daha çox oyunu ilə tanışmak istəyirsiniz, onlayn loto oyunlarının seçimindən istifadə edin. Onlayn oynamaq, sizin komfortunuzu artırmaq, və sizin üçün daha çox fayda saxlayan bir seçimdir. Əgər siz Milli Lotereyanın tək tək oyunlarından birini seçməyə çalışırsınız, siz Milli Lotereyanın quruluşundan beri bir səhifəsında olan bütün oyunları görmək mümkün olacaqsınız. Onlayn Loto Oyunları, sizin keyfinizdə olanları seçməyə, onları istədiyiniz zaman və yerden oynamaq, və sonunda çox yaxşı qazanma imkanları sağlayan bir vəzifədir.

Milli Lotereya Mərcləri: Ən Popüler Onlayn Loto Oyunlarını Keçid Edin - Üçüncü Nəfər!

Milli Lotereya Mərcləri: Nəsil 3-dən Faydalanmaq Məzmunu

Milli Lotereya Mərcləri: Nəsil 3-dən Faydalanmaq – dəstək Milli Lotereya Mərclərinin 3-cü nəsilində istifadə edilə bilən rüxsatı verilmiş müxtəlif oyunlar haqqında məlumat verir. Bu səhifədə siz Milli Lotereya Mərclərinin tədbirlərini qiymət edirik. Əgər siz Milli Lotereya Mərclərinin 3-cü nəsilində faydalanmaq istəyirsiniz, bu səhifədə müştəq qalmayın. Milli Lotereya Mərclərinin 3-cü nəsilində faydalanmaq sizin için çox rahat hissələrdir. Əgər siz Milli Lotereya Mərclərinin tədbirlərini seçiririksə, siz şansınız var ki, çox böyük müraciətlərə sahib olacaqsınız. Milli Lotereya Mərclərinin 3-cü nəsilində faydalanmaq sizin için faydalı ola bilər. Bu səhifədə Milli Lotereya Mərclərinin 3-cü nəsilində faydalanmaq üçün məzmun və rəhbərliyimiz var. Bu səhifədə Milli Lotereya Mərclərinin 3-cü nəsilində faydalanmaq mümkündür.

Mənim adım Elnur, mən 27 illərə daxil olmuşam. Bu həftə Milli Lotereya Mərcləri üçüncü nəfər ilə tanışdım və onlara qoşduq. Onların platformu mənə doğru çox gözləyin! Onlar mənə çox rahat hiss edirdim və mən bu loto oyunlarına çox sevindim. Onların müasir və gözləqdə olan təminatları mənə çox sevinirdi. Onların platformu, bütün mövcud loto oyunlarının bir araya getirilmisini və mənə rahat hiss edəkən bir məhdudiyyət saxlayır.

Salam, mən Fidan deyiləm, mən 35 illərə daxil olmuşam. Onların platformu mənə doğru çox gözləyin! Onların müasir təminatları və rahat hissə edən interfeysi məni çox sevinirdi. Onların platformu, bütün mövcud loto oyunlarının bir araya getirilmisini və mənə rahat hiss edəkən bir məhdudiyyət saxlayır. Onların hizməti mənə çox sevinirdim və onları tavsiə edirəm.

Merhaba, mən Rüstəm deyiləm, mən 22 illərə daxil olmuşam. Onların Milli Lotereya Mərcləri ilə tanışdığım həftə, onların platformu mənə doğru çox gözləyin! Onların müasir və gözləqdə olan təminatları mənə çox sevinirdi. Onların platformu, bütün mövcud loto oyunlarının bir araya getirilmisini və mənə rahat hiss edəkən bir məhdudiyyət saxlayır. Onların hizməti mənə çox sevinirdim və onları tavsiə edirəm.

Milli Lotereya Mərcləri: Ən popüler onlayn online loto azerbaycan loto oyunlarını keçid edin!

Bu platform, sizin üçüncü nəfər olaraq loto oyunlarına daxil olmaq üçün idealdir.

Milli Lotereya Mərcləri, sizin için mükəmməl bir loto təcrübəsini sağlayır.

Design and Develop by Ovatheme